x86/altp2m: basic data structures and support routines
authorEd White <edmund.h.white@intel.com>
Fri, 24 Jul 2015 11:28:00 +0000 (13:28 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 24 Jul 2015 11:28:00 +0000 (13:28 +0200)
commitd39a32e701cbc4668378caebed0de46f0ed1208c
tree943f0bcaecbe72d86c0546069d37b27a7b594b5f
parentfce42d9ad7ae204204f56ad5e4324c20f2acc925
x86/altp2m: basic data structures and support routines

Add the basic data structures needed to support alternate p2m's and
the functions to initialise them and tear them down.

Although Intel hardware can handle 512 EPTP's per hardware thread
concurrently, only 10 per domain are supported in this patch for
performance reasons.

This change also splits the p2m lock into one lock type for altp2m's
and another type for all other p2m's. The purpose of this is to place
the altp2m list lock between the types, so the list lock can be
acquired whilst holding the host p2m lock.

Signed-off-by: Ed White <edmund.h.white@intel.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Cosmetic adjustments.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
xen/arch/x86/hvm/hvm.c
xen/arch/x86/mm/Makefile
xen/arch/x86/mm/altp2m.c [new file with mode: 0644]
xen/arch/x86/mm/hap/hap.c
xen/arch/x86/mm/mm-locks.h
xen/arch/x86/mm/p2m.c
xen/include/asm-x86/altp2m.h [new file with mode: 0644]
xen/include/asm-x86/domain.h
xen/include/asm-x86/hvm/hvm.h
xen/include/asm-x86/hvm/vcpu.h
xen/include/asm-x86/p2m.h